package com.ysstech.reportworld.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * <p>
 * 报表世界客户信息
 * </p>
 *
 * @author lishuangliang
 * @since 2022-04-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("report_world_customer")
public class Customer extends Model<Customer> {

    private static final long serialVersionUID = 1L;

    @TableId("ID")
    private String id;

    @TableField("PARENT_ID")
    private String parentId;

    /**
     * 模块名称
     */
    @TableField("NAME")
    private String name;

    @TableField("DESCRIPTION")
    private String description;

    @TableField("STATUS")
    private Integer status;

    @TableField("ADD_TIME")
    private LocalDateTime addTime;

    @TableField("ADD_USER")
    private String addUser;

    @TableField("EDIT_TIME")
    private LocalDateTime editTime;

    @TableField("EDIT_USER")
    private String editUser;

    @TableField("DELETE_REASON")
    private String deleteReason;

    // 客户拥有的模块
    @TableField("STR_MODULAR")
    private String strModular;
    //客户拥有的报表
    @TableField("STR_REPORT")
    private String strReport;

    // 页面选择的模块
    @TableField(exist = false)
    private String selModular;
    //页面选择的报表
    @TableField(exist = false)
    private String selReport;


    // 导出许可选择的模块
    @TableField(exist = false)
    private List<String> listModular;
    //导出许可选择的报表
    @TableField(exist = false)
    private List<String> listReport;
    //许可到期时间，默认一年时间
    @TableField(exist = false)
    private String expireDate;

    @TableField(exist = false)
    private String username;
    @TableField(exist = false)
    private String password;

    @Override
    protected Serializable pkVal() {
        return null;
    }
}
